package com.roads.system.mapper;

import java.util.List;

import com.roads.system.domain.SysRoleReport;
import com.roads.system.domain.SysUserReport;
import org.apache.ibatis.annotations.Param;

/**
 * 用户报表Mapper接口
 * 
 * @author nhp
 * @date 2022-06-09
 */
public interface SysUserReportMapper {

    /**
     * 批量新增用户报表信息
     *
     * @param userReportList 角色报表列表
     * @return 结果
     */
    int batchInsert(List<SysUserReport> userReportList);

    /**
     * 删除用户和报表关联信息
     *
     * @param userReport 用户和报表关联信息
     * @return 结果
     */
    int deleteUserReportInfo(SysUserReport userReport);

    /**
     * 批量取消授权用户报表
     *
     * @param userId  用户ID
     * @param reportIds 需要删除的报表数据ID
     * @return 结果
     */
    int deleteUserReportInfos(@Param("userId") Long userId, @Param("reportIds") Integer[] reportIds);

    /**
     * 删除用户报表关联信息
     *
     * @param id 需要删除的数据ID
     * @return 结果
     */
    int deleteUserReportById(Long id);

    /**
     * 批量删除用户报表关联信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteUserReportByIds(Long[] ids);

}
